# 封装、继承和多态是面向对象的三大特
# coding=utf-8
# 类方法的第一个参数必须指向实例,在调用时无须传入self
# __init__方法叫魔术方法，会在类被创建时自动调用
class Car:
    # 定义属性
    price = 0
    owner = ''
    # 私有属性，是否保险
    __Insured = False

    # 构造方法，这是一个魔术方法
    def __init__(self, price, owner):
        self.price = price
        self.owner = owner

    # 输出信息的方法
    def printInfo(self):
        print('Owner is:' + self.owner)
        print('price is:' + str(self.price))


# 实例化类并使用
myCar = Car(250000, 'Peter')
# Owner is:Peter
# price is:250000
myCar.printInfo()
print(myCar.owner)  # Peter
# print(myCar.__Insured) # error
print(myCar)